/**
 * 模板分类常量配置
 * 统一管理所有模板分类选项，确保前端各处使用的分类数据一致
 */

export const TEMPLATE_CATEGORIES = [
  { code: 'development', name: '开发环境', label: '开发环境', value: 'development' },
  { code: 'office', name: '办公软件', label: '办公软件', value: 'office' },
  { code: 'design', name: '设计工具', label: '设计工具', value: 'design' },
  { code: 'system', name: '系统工具', label: '系统工具', value: 'system' },
  { code: 'entertainment', name: '娱乐软件', label: '娱乐软件', value: 'entertainment' },
  { code: 'education', name: '学习教育', label: '学习教育', value: 'education' },
  { code: 'database', name: '数据库环境', label: '数据库环境', value: 'database' },
  { code: 'runtime', name: '运行环境', label: '运行环境', value: 'runtime' },
  { code: 'tools', name: '工具集合', label: '工具集合', value: 'tools' },
  { code: 'general', name: '通用环境', label: '通用环境', value: 'general' },
  { code: 'other', name: '其他', label: '其他', value: 'other' }
]

/**
 * 获取分类显示名称
 * @param {string} code - 分类代码
 * @returns {string} 分类显示名称
 */
export function getCategoryName(code) {
  const category = TEMPLATE_CATEGORIES.find(cat => cat.code === code)
  return category ? category.name : '未知'
}

/**
 * 获取分类对象
 * @param {string} code - 分类代码
 * @returns {object|null} 分类对象
 */
export function getCategoryByCode(code) {
  return TEMPLATE_CATEGORIES.find(cat => cat.code === code) || null
}

/**
 * 获取分类类型（用于Element Plus的tag类型）
 * @param {string} code - 分类代码
 * @returns {string} Element Plus tag类型
 */
export function getCategoryType(code) {
  const typeMap = {
    'development': 'primary',
    'office': 'success',
    'design': 'warning',
    'system': 'info',
    'entertainment': 'danger',
    'education': 'primary',
    'database': 'warning',
    'runtime': 'success',
    'tools': 'info',
    'general': 'info',
    'other': 'info'
  }
  return typeMap[code] || 'info'
}
